import { Entity, Column, PrimaryGeneratedColumn, CreateDateColumn, Generated } from 'typeorm'

@Entity()          // 装饰器将这个类映射到数据库中
export class List {

    @PrimaryGeneratedColumn()   // id为自增的，所以用这个装饰器
    id: number;

    // @Column()     
    @Column({type: 'varchar', length: 255, nullable: false})       // 可以配置数据库字段属性
    name: string;

    @CreateDateColumn({type: 'timestamp'})      // 配置日期的装饰器
    createTime: Date;

    @Generated('uuid')      // 自动生成列的装饰器
    uuid: string;

    @Column({
        type: 'enum',                     // 设置枚举
        enum: ['red', 'green', 'blue'],
        default: 'red'
    })
    color: string;

    @Column({
        select: true               // 这样查询时会自动过滤
    })
    password: string;

    // 两个特殊的 simple-array    和   simple-json   这两个会调用方法自动转换 String.split(',')    JSON.stringify()/JSON.parse()
    // @Column('simple-array')   @Column('simple-json')
}
